[tool.coverage.run]
branch = true
source = [ "opentelemetry/instrumentation/llamaindex" ]

[tool.coverage.report]
exclude_lines = ['if TYPE_CHECKING:']
show_missing = true

[tool.poetry]
name = "opentelemetry-instrumentation-llamaindex"
version = "0.14.1"
description = "OpenTelemetry LlamaIndex instrumentation"
authors = [
  "Gal Kleinman <gal@traceloop.com>",
  "Nir Gazit <nir@traceloop.com>",
  "Tomer Friedman <tomer@traceloop.com>"
]
repository = "https://github.com/traceloop/openllmetry/tree/main/packages/opentelemetry-instrumentation-llamaindex"
license = "Apache-2.0"
readme = "README.md"

[[tool.poetry.packages]]
include = "opentelemetry/instrumentation/llamaindex"

[tool.poetry.dependencies]
python = ">=3.8.1,<3.12"
opentelemetry-api = "^1.23.0"
opentelemetry-instrumentation = "0.44b0"
opentelemetry-semantic-conventions-ai = "^0.0.23"
inflection = "^0.5.1"

[tool.poetry.group.dev.dependencies]
autopep8 = "2.0.4"
flake8 = "7.0.0"

[tool.poetry.group.test.dependencies]
vcrpy = "^6.0.1"
pytest-recording = "^0.13.1"
pytest-asyncio = "^0.23.5"
chromadb = "^0.4.22"
openai = "^1.12.0"
opentelemetry-sdk = "^1.23.0"
llama-index = "^0.10.10"
llama-index-postprocessor-cohere-rerank = "^0.1.2"
opentelemetry-instrumentation-openai = {path="../opentelemetry-instrumentation-openai", develop=true}
opentelemetry-instrumentation-cohere = {path="../opentelemetry-instrumentation-cohere", develop=true}
opentelemetry-instrumentation-chromadb = {path="../opentelemetry-instrumentation-chromadb", develop=true}
sqlalchemy = "^2.0.27"
llama-index-agent-openai = "^0.1.5"

[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"

[project.entry-points.opentelemetry_instrumentor]
llama_index = "opentelemetry.instrumentation.llamaindex:LlamaIndexInstrumentor"
